home *** CD-ROM | disk | FTP | other *** search
- '
- 'Class description:
- '
- !short:Report class structure:
- Classn Report:
- ~~~~~~~~~~~~~~
- This class is used for report creation.
-
- Common use:
- ~~~~~~~~~~~
- LOCAL OBJECT Rep OF Report //new object created
- Rep:Init(...) //initialised
- Rep:AddTop(...) //report header appended
- Rep:AddField(...) //repeatedly appended the report columns
- ... //...definitions
- Rep:AddBottom(...) //bottom line appended
-
- This object initialisation adds this object as task to the task stack
- and the task swapper does the activating and finishing of this object.
-
- Source code is in C_Report.prg
-
- !seealso: c_finfo.ngo:FInfo c_info.ngo:Info c_view.ngo:View c_color.ngo:Color ob_class.ngo:"Class hierarchy"
-
- !short:~~~~~~~~~~~~~~~~~~~~~~~
- !short:create class Report from DBrowse
- !short: export:
- !short: var FName //""
- ^BReport:FName^N: read-only: character
- Report file name.
-
- !short: var Handle //-1
- ^BReport:Handle^N: private: numeric
- Access variable to file FName.
-
- !short: var Width //0
- ^BReport:Width^N: private: numeric
- Report width in number of characters (columns)
-
- !short: var TopText //""
- ^BReport:Top^N: read-only: character
- Report header, the lines can be separated by semicolon (;)
-
- !short: var Fields //{}
- ^BReport:Fields^N: read-only: array
- The columns definition in form of:
- Fields:={}
- AAdd( Field, {cTitle,cField,cPicture,lTotal,cSubTotal} )
- ...
- Where:
- cTitle - is column heading
- cField - is a full name of database field (alias->field).
- cPicture - is a picture mask definition for this field
- lTotal - is true if the field should be totaled
- cSubTotal - is the database filed name after which we shall total or ""
-
- !short: var FSizes //{}
- ^BReport:FSizes^N: read-only: array
- Report file column sizes.
-
- !short: var Totals //{}
- ^BReport:Totals^N: read-only: array
- Report file column totals.
-
- !short: var BottomText //""
- ^BReport:BottomText^N: read-only: character
- Bottom text of the report, the rows are separated with semicolon (;).
-
- !short: var OldOrder //0
- ^BReport:OldOrder^N: private: numeric
- When creating the report can be a new index file activated, so the last
- opened index file number is stored here to restore the indexes after the
- report is created or when switching to other task.
-
- !short: var OnlyTotals //false
- ^BReport:OnlyTotals^N: public: logical
- Default is false, i.e. standart report creation; if you set it to true,
- then will be output only subtotals and totals.
-
- !short: method New=ReportNew //o:New() --> self
- ^BReport:New()^N: public: return self
- Object is filled with default values. The following predcessor variables
- are modified:
-
- ^UReport:InfoBlock^N: public: code_block: override
- The code block for writing the processed record number of selected
- database to the bottom window border is stored here.
-
- ^UReport:DoneBlock^N: public: code_block: override
- If the user inerrupts the report creation, the output file and the
- temporary index file must be closed and deleted.
-
- !short: method Init=ReportInit //o:Init(Name,R,C,Rs,Cs,Clr,Shd) --> true
- ^BReport:Init(Name,R,C,Rs,Cs,Clr,Shadow)^N: public: return true
- The object is initialised with the same parameters as the predcessor
- method Init() of class Box.
-
- !short: method AddData=ReportAddData //o:AddData(cTop,aFields,cBottom,lnlyTotals) --> true
- ^BReport:AddData(cTop,aFields,cBottom,lOnlyTotals)^N: public: return true
- The instvar variables Top, Fields, Bottom and OnlyTotals of this object
- can be directly modified. The parameter values are directly assigned to
- instvar variables of the object.
-
- !short: method AddTop=ReportAddTop //o:AddTop(cTop) --> true
- ^BReport:AddTop(cTop)^N: public: return true
- The parameter cTop is copied to instvar variable Top of this object.
-
- !short: method AddField=ReportAddField //o:AddField(cTitle,cField,cPic,lTot,cSubT) --> true
- ^BReport:AddField(cTitle,cField,cPicture,lTotal,cSubTotal)^N:
- public: return true
- The instvar variable Fields of this object is created, the repeated
- calling of this method fills the value of its parameters to this variable.
- See the structure and meaning of instvar variable Fields.
-
- !short: method AddBottom=ReportAddBottom//o:AddBottom(cBottom) --> true
- ^BReport:AddBottom(cBottom)^N: return true
- The cBottom parameter is copied to instvar variable Bottom of this object.
-
- !short: method VPaint=ReportVPaint //o:VPaint() --> true
- ^BReport:VPaint()^N: private: return true
- The paint method for displaying this class of objects.
-
- !short: method VProcess=ReportVProcess //o:VProcess() --> true
- ^BReport:VProcess();^N: private: return true
- This method creates the report, after that destroys itself and creates the
- child process to view the created report.
-
- !short: endclass
-
-